
//드레그
function drag() {
	$(".drag").draggable();
}


//메뉴창 보이기

function showMenu(id) {
	$("#" + id).css({
		display: "inline"
	});


}

//메뉴창 닫기

function closeMenu(id) {
	$("#" + id).css({
		display: "none"
	});
}


function removeMenu(id){
	$("#" + id).remove(); 
	$("#" + id).css({
		display: "none"
	});
}

//게시판 제어 및 팝업레이어 메뉴속페이지불러오기  

function loadMenu(id, url2, width, height) {
	showMenu(id);


	if (!width) {
		width2 = 400;
	} else {
		width2 = width;
	}
	if (!height) {
		height2 = 500;
	} else {
		height2 = height;
	}
	var left2 = (window.document.body.offsetWidth / 2) - (width2 / 2);
	var left3 = (window.document.body.offsetWidth / 2) - (width2 / 2) + 50;
	var top2 = (window.document.body.offsetHeight / 2) - 100;
	//스크린 가운데 위치하도록 
	//if문을 돌려 구분및 초기화

//	$("#" + id).slideDown(1000,function () { //콜백함수시작
	if(url2){
		$.ajax({
			type: "POST",
			url:url2,
			dataType: "html",
			data: {
				//"url2": url2
			},
			cache: false,
			success: function (data, textStatus) {
				$("#" + id).replaceWith(" <div id=" + id + " class='drag' style=' position:absolute;   z-index:10000; left:" + left2 + "px;top:"+($(document).scrollTop()+400)+"px; width:" + width2 + "px; height:"+height2+"px;  display:inline;' ><center><a  onClick=removeMenu('" + id + "');><img src=/zaza/image/X22.png border=0  style='position:absolute; top:0px; right:0px;'></a> </center> </div>");

				var dataBorder = "<div id='dataBorder' >" + data + "</div>"; //크롬 사파리에서 오버플로우 안먹히니까 편법으로 높이 재려고 레이어 씌우고 아이디 먹임
				$("#" + id).append(dataBorder);
				$("#" + id).css({"border":"10px solid gray"});
				$("#" + id).css({"background-color":"white"});
				drag();
			},
			beforeSend: function (xhr) {
				$("body").append("<div id='"+id+"'  style=' position:absolute;  z-index:11000;  left:" + ((window.document.body.offsetWidth / 2)-50) + "px; top:"+($(document).scrollTop()+400)+"px;  width:500px; height:500px;  display:inline; text-align:center;'></div>");
				$("#" + id).append("<center><br><img src='/zaza/image/32.gif'><br>로딩중입니다.</center>");
				//});
			}
		});
	}
//	});  //콜백함수 닫음

}




//팝업창

function popUp(url, width, height) {
	var a = window.open(url, 'pop', 'width=' + width + ',height=' + height + ',toolbar=no,menubar=no,scrollbars=no,status=no,resizable=yes,location=no');
	a.focus();
}

//브라우저확인

function checkIe() {
	if (navigator.appVersion.indexOf("MSIE 9") == -1) {
		showMenu('menuBox');
		loadMenu('menuBox', '/hjsolution/plugin/checkIE/ie.php', 700);
		return -1;
	}
}


//크롬이거나 사파리 이면  편법으로 레이어 오버플로우 효과를 

function inMenuBoxAddHeight() {
	if ((navigator.userAgent.toLowerCase().indexOf("chrome") != -1) || (navigator.userAgent.toLowerCase().indexOf("safari") != -1)) {
		var dataHeight = $("#dataBorder").height(); //추가되는 내용의 높이
		var contentHeight = $("#content").height(); //글쓰기 폼의 에디터 높이 id=content  
		$("#menuBox").css({
			"height": dataHeight + contentHeight
		});
		$("#menuBoxSub").css({
			"height": dataHeight 
		});
	}
}




function addTextInBrowser() {
	var version = navigator.appVersion;
	$("#checkIE").append(version);
	bbsControl('/hjsolution/plugin/checkIE/checkIE.php', '', 'checkIE', '');
	closeMenu('menuBox');
}










function calControl(url,divId) {
	$(function () {
		$.ajax({
			type: "POST",
			url: url,
			dataType: "html",
			data: { 
				"divId": divId
			},
			cache: false,
			success: function (data, textStatus) {
				$("#" + divId).replaceWith("<div id ='"+divId+"'style=\"width:100%;\">" + data + "</div>");

			},
			beforeSend: function (xhr) { }
		});
	});
}


//특정레이어에 id기준으로 비동기 호출 된 페이지를 뿌려준다
function swapPage(url,targetId) {
	$(function () {
		$.ajax({
			type: "POST",
			url: url,
			dataType: "html",
			data: {
				"targetId": targetId
			},
			cache: false,
			success: function (data, textStatus) {
				$("#" + targetId).replaceWith("<div id='"+targetId+"'  style='width:100%; height:100%'></div>");
				$("#" + targetId).append(data);
			},
			error: function (xhr, textStatus) {
				alert("에러:swapPage()");
			},
			beforeSend: function (xhr) {
				$("#" + targetId).replaceWith("<div id='"+targetId+"'></div>");
				$("#" + targetId).append("<div  style=\"  text-align:center;  \"><br><br><br><br><br><br><br><br><img src='/zaza/image/32.gif'><br>로딩중입니다.</div>");
				//$("#" + targetId).css({
				//	"border":"5px dotted orange"	
				//});
			},
			complete: function (xhr, textStatus) {
				//$("#" + targetId).css({
				//	"border":"0px"	
				//});
			}
		});
	});
}

//비동기 전송후 지정 타겟 레이어를 지정할 경우 페이지를 보여줌
function submitAndReturn(formID,url) {

	//ajax error 이벤트콜백
	$(document).ajaxError(function (event, request) {
		if (request.status == 500) {
			alert("데이터 저장시 오류 발생!!");
		}
	});
	function reUploadCallback(data, state) {
		if(data=='true'){return true;}
		else if(data=='false'){return false;}
		else{ alert('error : boolean 형의 리턴값이 아닙니다. '+ data);}
		//alert(data);
	}
	$(function () {
		$('#' + formID).ajaxForm(reUploadCallback);
		$('#' + formID).submit(function () {
			return false;
		});
	});
	$('#' + formID).attr("action", url);
	$('#' + formID).submit();
}



//비동기 전송후 지정 타겟 레이어를 지정할 경우 페이지를 보여줌
function submitForm(formID,url,nextUrl,targetId,selfData) {

	//ajax error 이벤트콜백
	$(document).ajaxError(function (event, request) {
		if (request.status == 500) {
			alert("데이터 저장시 오류 발생!!");
		}
	});
	function reUploadCallback(data, state) {
		//alert(data);

		//비동기 전송후 nextUrl과 targetId가 있으면 지정레이어 속에 페이지 를 넣음
		if((nextUrl)&&(targetId)){swapPage(nextUrl,targetId);}
		//지정된 레이어에 자신이 리턴받은 데이터를 넣음
		if(selfData=='self'){
			$("#" + targetId).replaceWith("<div id='"+targetId+"'></div>");
			$("#" + targetId).append(data);
		}

	}
	$(function () {
		$('#' + formID).ajaxForm(reUploadCallback);
		$('#' + formID).submit(function () {
			return false;
		});
	});
	$('#' + formID).attr("action", url);
	$('#' + formID).submit();
}











function isInteger(val)
{
	//alert(val.value);
	if(val==null)
	{
		//alert(val);
		return false;
	}
	if (val.length==0)
	{
		//alert(val);
		return false;
	}
	for (var i = 0; i < val.length; i++) 
	{
		var ch = val.charAt(i)
		if (i == 0 && ch == "-")
		{
			continue
		}
		if (ch < "0" || ch > "9")
		{
			return false
		}
	}
	return true
}



//--------------엘리먼트속의 문자열 검사------------------//

//주민등록번호 검사만 처리
function isRegNoCheck(varCk1, varCk2) {
	if ( (varCk1.length==6) && (varCk2.length==7) ) {
		if ( (isInteger(varCk1)) && (isInteger(varCk2)) ) {
			ckValue = new Array(13);
			var ckLastid,ckMod,ckMinus,ckLast;

			ckLastid    = parseFloat(varCk2.substring(6,7));
			ckValue[0]  = parseFloat(varCk1.substring(0,1))  * 2;
			ckValue[1]  = parseFloat(varCk1.substring(1,2))  * 3;
			ckValue[2]  = parseFloat(varCk1.substring(2,3))  * 4;
			ckValue[3]  = parseFloat(varCk1.substring(3,4))  * 5;
			ckValue[4]  = parseFloat(varCk1.substring(4,5))  * 6;
			ckValue[5]  = parseFloat(varCk1.substring(5,6))  * 7;
			ckValue[6]  = parseFloat(varCk2.substring(0,1))  * 8;
			ckValue[7]  = parseFloat(varCk2.substring(1,2))  * 9;
			ckValue[8]  = parseFloat(varCk2.substring(2,3))  * 2;
			ckValue[9]  = parseFloat(varCk2.substring(3,4))  * 3;
			ckValue[10] = parseFloat(varCk2.substring(4,5))  * 4;
			ckValue[11] = parseFloat(varCk2.substring(5,6))  * 5;
			ckValue[12] = 0;

			for (var i = 0; i<12;i++) {
				ckValue[12] = ckValue[12] + ckValue[i];
			}
			ckMod   = ckValue[12] %11;
			ckMinus = 11 - ckMod;
			ckLast  = ckMinus % 10;
			if (ckLast != ckLastid) {
				return false;
			} else {
				return true;
			}
		} else {
			return false;
		}
	} else {
		return false;
	}
}

//주민등록번호 검사
function isRegNo(varCk1,varCk2) {
	if ( (varCk1.length==6) && (varCk2.length==7)  ) {
		if ( (isInteger(varCk1)) && (isInteger(varCk2)) ) {
			ckValue = new Array(13);
			var ckLastid,ckMod,ckMinus,ckLast;

			ckLastid    = parseFloat(varCk2.substring(6,7));
			ckValue[0]  = parseFloat(varCk1.substring(0,1))  * 2;
			ckValue[1]  = parseFloat(varCk1.substring(1,2))  * 3;
			ckValue[2]  = parseFloat(varCk1.substring(2,3))  * 4;
			ckValue[3]  = parseFloat(varCk1.substring(3,4))  * 5;
			ckValue[4]  = parseFloat(varCk1.substring(4,5))  * 6;
			ckValue[5]  = parseFloat(varCk1.substring(5,6))  * 7;
			ckValue[6]  = parseFloat(varCk2.substring(0,1))  * 8;
			ckValue[7]  = parseFloat(varCk2.substring(1,2))  * 9;
			ckValue[8]  = parseFloat(varCk2.substring(2,3))  * 2;
			ckValue[9]  = parseFloat(varCk2.substring(3,4))  * 3;
			ckValue[10] = parseFloat(varCk2.substring(4,5))  * 4;
			ckValue[11] = parseFloat(varCk2.substring(5,6))  * 5;
			ckValue[12] = 0;

			for (var i = 0; i<12;i++) {
				ckValue[12] = ckValue[12] + ckValue[i];
			}
			ckMod   = ckValue[12] %11;
			ckMinus = 11 - ckMod;
			ckLast  = ckMinus % 10;
			if (ckLast != ckLastid) {
				alert ("잘못된 주민등록번호입니다. 다시 확인해 주십시오");
				return false;
			} else {
				return true;
			}
		} else {
			alert("주민등록번호는 숫자이어야 합니다.");
			return false;
		}
	} else {
		alert("주민등록번호의 자릿수가 잘못 입력되었습니다.");
		return false;
	}
}

//사업자 등록번호 검사
function isBusinessNo(varCk1,varCk2,varCk3) {
	ckValue = new Array(10);
	if ( (isLength(varCk1)==3) && (isLength(varCk2)==2) && (isLength(varCk3)==5) ) {
		if ( (isInteger(varCk1,"")) && (isInteger(varCk2,"")) && (isInteger(varCk3,"")) ) {
			ckValue[0] = ( parseFloat(varCk1.substring(0 ,1))  * 1 ) % 10;
			ckValue[1] = ( parseFloat(varCk1.substring(1 ,2))  * 3 ) % 10;
			ckValue[2] = ( parseFloat(varCk1.substring(2 ,3))  * 7 ) % 10;
			ckValue[3] = ( parseFloat(varCk2.substring(0 ,1))  * 1 ) % 10;
			ckValue[4] = ( parseFloat(varCk2.substring(1 ,2))  * 3 ) % 10;
			ckValue[5] = ( parseFloat(varCk3.substring(0 ,1))  * 7 ) % 10;
			ckValue[6] = ( parseFloat(varCk3.substring(1 ,2))  * 1 ) % 10;
			ckValue[7] = ( parseFloat(varCk3.substring(2 ,3))  * 3 ) % 10;
			ckTemp     = parseFloat(varCk3.substring(3 ,4))  * 5  + "0";
			ckValue[8] = parseFloat(ckTemp.substring(0,1)) + parseFloat(ckTemp.substring(1,2));
			ckValue[9] = parseFloat(varCk3.substring(4,5));
			ckLastid = ( 10 - ( ( ckValue[0]+ckValue[1]+ckValue[2]+ckValue[3]+ckValue[4]+ckValue[5]+ckValue[6]+ckValue[7]+ckValue[8] ) % 10 ) ) % 10;
			if (ckValue[9] != ckLastid) {
				alert ("잘못된 사업자등록번호입니다. 다시 확인해 주십시오");
				return false;
			} else {
				return true;
			}
		} else {
			alert("사업자등록번호는 숫자이어야 합니다.");
			return false;
		}
	} else {
		alert("사업자등록번호의 자릿수가 잘못 입력되었습니다.");
		return false;
	}
}


//특수문자를 공백으로 변경
function noWordToBlank(str) {
	var regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi;
	var t = str.replace(regExp, "");
	return t;
}


//마지막 글자 추출 1
function lastLan(val){
	var length = val.length;
	var str = val.substr(length-1,length);
	return str;
}

//특수문자 체크
function isNoWord(str){
	var check = ["/","*","[","]","#","$","%","&","(",")","{","}","|","`","<",">",";"];  
	for (var i=0; i<check.length ; i++) { 
		if (str == check[i]) { 
			alert(check[i]+" <-- 특수문자 금지");
			return true;
		} 
	} 
	return false;
}


//알파벳체크 
function isAlphabet(ch) {
	var numUnicode = ch.charCodeAt(0); 
	if ( 65 <= numUnicode && numUnicode <= 90 ) return true;            // 대문자
	if ( 97 <= numUnicode && numUnicode <= 122 ) return true;            // 소문자
	return false;
}

//한글체크 
function isKorean(ch) {
	var numUnicode = ch.charCodeAt(0);
	if ( 44032 <= numUnicode && numUnicode <= 55203 || 12593 <= numUnicode && numUnicode <= 12643 ) return true;            
	return false;
}

//숫자인지체크 
function isNumber(ch) {
	var numUnicode = ch.charCodeAt(0);                                                                                    
	if ( 48 <= numUnicode && numUnicode <= 57 ) return true;            
	return false;
}

//앨리먼트의 값을 전부지우고 포커스
function setReType(id,chk){	
	if(chk){
		alert('자료형 틀렸음');
		id.value = "";
		$(id).css({"border":"2px solid red"});
		$(id).focus();
		return true;
	}
	else{$(id).css({"border":"2px solid blue"}); return false;}


}

//앨리먼트의 값을 전부지우고 포커스
function checkBlank(id,chk){	
	if(chk){
		alert('공백을 채워주세요');
		$(id).css({"border":"2px solid yellow"});
		$(id).focus();
		return true;
	}
	else{$(id).css({"border":"2px solid blue"}); return false;}


}

function setOneWordDelete(id,chk,str2){	
	if(chk){
		//$(id).css({"border":"2px solid red"});
		//alert('자료형 틀렸음');
		$(id).attr("value",str2);
		$(id).css({"border":"1px solid red"});
		$(id).focus();
		return true;
	}
	else{$(id).css({"border":"2px solid blue"}); return false;}


}

//포커스 아웃되면 앨리먼트 속의 문자열을 전부 검사해서 되돌리는 기능 
function langChkAllWord(id){
	rule =  id.lang;
	value = id.value;
	length = value.length;
	str = "";
	chk = false; 
	//for문으로 전체 문자열을 검사하고
	for(var i=0;i<value.length;i++){
		str = value.substr(i,1);
		if(rule){
			if(rule.indexOf("en") < 0  && str && !chk){
				chk = isAlphabet(str);
				if(setReType(id,chk)){ return true;}
			}
			if(rule.indexOf("int") < 0  && str && !chk){
				chk = isNumber(str);
				if(setReType(id,chk)){ return true;}
			}
			if(rule.indexOf("kr") < 0  && str && !chk){
				chk = isKorean(str);
				if(setReType(id,chk)){ return true;}
			}
			if(rule.indexOf("special") < 0  && str && !chk){
				chk = isNoWord(str);
				if(setReType(id,chk)){ return true;}
			}
			//alert(chk+" : 총글자 :"+length+" -- 한글자 :"+str+" : i : "+ i +" : "+rule);
		}
	}	
}

//작성중 틀린글자를 자동으로 한글자씩 지우는
function langChkLastWord(id){
	var rule =  id.lang;
	var value = id.value;
	var str = lastLan(value);
	var length = value.length;
	var str2 = value.substr(0,length-2);
	var chk = false; 
	if(rule){
		if(rule.indexOf("en") < 0 && !chk && str){
			chk = isAlphabet(str);
			if(setOneWordDelete(id,chk,str2)){ return true;}
		}
		if(rule.indexOf("int") < 0 && !chk && str){
			chk = isNumber(str);
			if(setOneWordDelete(id,chk,str2)){ return true;}
		}
		if(rule.indexOf("kr") < 0 && !chk && str){
			chk = isKorean(str);
			if(setOneWordDelete(id,chk,str2)){ return true;}
		}
		if(rule.indexOf("special") < 0 && !chk && str){
			chk = isNoWord(str);
			if(setOneWordDelete(id,chk,str2)){ return true;}
		}
	}	
}




/*아래와 같은 문구삽입으로 페이지 전체의 폼검사 가능 live기능으로 index에 넣어두면 좋음
<script  language='JavaScript' charset='utf-8'>
$(document).ready(function(){  
	$("input[lang]").live('focusout',function(event){
		langChkAllWord(this); 		
	});
	$("textArea[lang]").live('focusout',function(event){
		langChkAllWord(this); 
	});
	$("input[lang]").live('keyup',function(event){
		langChkLastWord(this); 		
	});
	$("textArea[lang]").live('keyup',function(event){
		langChkLastWord(this); 
	});
});
</script>
적용될 엘리먼트속에 <input type="text" class="text"  name="capacity" id="capacity" lang="int en"> 이런식으로 추가할것
 */
//--------------------------------//




//--------------인풋창속의 내용제어------------------//
//블러 시키고 공백
function setBlurAndBlank(id){
	blur();
	$(id).attr("value","");
}

//블러시키기
function setBlank(id){
	$(id).attr("value","");
}

//라디오박스의 값을 가져와서 인풋 텍스트 폼속에 넣는다.
function getRadioBoxIntoTextBox(arg,targetId){
	var radio = $(":radio[name="+arg+"]:checked").val();
	$("#"+targetId).attr("value",radio);
}
//--------------------------------//



//checkBox콘트롤
function checkBoxAllCheck(id){
	$('input:checkbox[id="'+id+'"]').attr("checked",true);
}

function checkBoxAllNotCheck(id){
	$('input:checkbox[id="'+id+'"]').attr("checked",false);
}

function checkBoxToggle(id,id2){
	var t = $("#"+id2).is(":checked");
	if(t==true){checkBoxAllCheck(id);}
	else{checkBoxAllNotCheck(id);}
}


function showDiv(formId){
	$("#"+formId).css({
		display:"inline"
	});
	$(formId).focus();
}

function hideDiv(formId){
	$("#"+formId).css({
		display:"none"
	});
}


function showFlash(url,width,height){                 
	document.writeln("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"" + width + "\" height=\"" + height + "\">" ); 
	document.writeln("<param name=\"movie\" value=\"" + url + "\">"); 
	document.writeln("<param name=\"quality\" value=\"high\" />");     
	document.writeln("<param name=\"wmode\" value=\"transparent\">"); 
	document.writeln("<embed src=\"" + url + "\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"" + width + "\"  height=\"" + height + "\">"); 
	document.writeln("</object>");     
} 

//슬립함수
function sleep(msecs){
	var start = new Date().getTime();
	var cur = start;
	while (cur - start < msecs){
		cur = new Date().getTime();
	}
}


//비동기전송 실행후 아무런 행위 없음
function excuteAjax(url,data) {
	$(function () {
		$.ajax({
			type: "POST",
			url: url,
			dataType: "html",
			data: { 
				"data": data
			},
			cache: false,
			success: function (data, textStatus) {
				return true;
			}
		});
	});
}


function delImg(url,data,delId){
	if(confirm('첨부된 파일을 삭제하겠습니까?')){
		alert('삭제됬습니다.:'+delId);
		excuteAjax(url,data);
		$("#"+delId).css({display:"none"});
	}
}





function swapImage(id,url){
	$("#"+id).replaceWith("<div id="+id+"  style=\"width: 400px;\"><img src='"+url+"' border='0' width='400' height='300'> </div>");
}




//게시판에 영화정보 넣기

function insertMovieInfo(id1,id2){
	id_1 = $("#"+id1).text();
	id_2 = $("#"+id2).text();
	//alert(id_1);alert(id_2);
	$("#option_1").val(id_1);
	$("#option_2").val(id_2);
	closeMenu('menuBox');
}



